package com.minglead.crawler.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

//提供别名与需求名映射、需求名父子类关系映射、文件名表头与需求表头映射
public class ProductMapUtils {

    public static void main(String[] args) {
        // 指定包含 CSV 文件的目录路径
        String directoryPath = "C:/Users/feng/Desktop/gdAdd";
        // 获取目录下的所有 CSV 文件
        File dir = new File(directoryPath);
        File[] csvFiles = dir.listFiles((dir1, name) -> name.endsWith(".csv"));
        if (csvFiles == null || csvFiles.length == 0) {
            System.out.println("目录中没有 CSV 文件。");
            return;
        }
        // 验证每个 CSV 文件
        for (File csvFile : csvFiles) {
            if (!isCsvHeaderValid(csvFile)) {
                System.out.println("表头不符合要求，文件名：" + csvFile.getName());
            }

        }
    }

    public static boolean isCsvHeaderValid(File csvFile) {
        try (BufferedReader reader = new BufferedReader(new FileReader(csvFile))) {
            // 读取第一行表头
            String headerLine = reader.readLine();
            if (headerLine == null) {
                System.out.println("文件为空：" + csvFile.getName());
                return false;
            }
            // 获取表头字段
            String[] headers = headerLine.split(",");
            Set<String> headerSet = new HashSet<>(Arrays.asList(headers));
            // 遍历 HEAD_PRODUCT_MAP，确保每个 key 的 value 至少有一个字段在表头中
            for (Map.Entry<String, Object> entry : GD_ADD_HEAD_PRODUCT_MAP.entrySet()) {
                Object value = entry.getValue();
                if (value instanceof List) {
                    @SuppressWarnings("unchecked")
                    List<String> requiredValues = (List<String>) value;
                    // 检查是否至少有一个字段匹配
                    boolean matchFound = false;
                    for (String requiredValue : requiredValues) {
                        if (headerSet.contains(requiredValue)) {
                            matchFound = true;
                            break;
                        }
                    }
                    // 如果没有找到匹配字段，输出文件信息并返回 false
                    if (!matchFound) {
                        System.out.println("文件名：" + csvFile.getName());
                        System.out.println("表头：" + headerSet);
                        System.out.println("缺失匹配字段的 key：" + entry.getKey());
                        return false;
                    }
                } else {
                    System.out.println("HEAD_PRODUCT_MAP 中的值不是 List 类型：" + value);
                    return false;
                }
            }
            // 如果所有 key 的 value 都至少匹配一个表头字段，则返回 true
            return true;
        } catch (IOException e) {
            System.err.println("读取文件失败：" + csvFile.getName());
            e.printStackTrace();
            return false;
        }
    }

    //广东省统计局主要产品产量 全局map(以"2024年1-11月主要产品产量_2024-12-17.csv"文件为基准构建) 父类指标与子类指标映射
    public static final Map<String, Object> GD_PRODUCTION_PRODUCT_MAP = new HashMap<String, Object>() {{
//        put("家电、电子工业产品", new HashMap<String, Object>() {{
            put("家用电冰箱（家用冷冻冷藏箱）", new Object());
            put("房间空气调节器", new Object());
            put("家用电风扇", new Object());
            put("房间空调器", new Object());
            put("家用吸排油烟机", new Object());
            put("微波炉", new Object());
            put("家用洗衣机", new Object());
            put("家用吸尘器", new Object());
            put("家用燃气灶具", new Object());
            put("家用燃气热水器", new Object());
            put("电饭锅", new Object());
            put("LED节能灯", new Object());
            put("程控交换机", new HashMap<String, Object>() {{
                put("数字程控交换机", new Object());
            }});
            put("电话单机", new Object());
            put("传真机", new Object());
            put("移动通信手持机（手机）", new Object() {{
                put("3G手机", new Object());
            }});
            put("移动通信设备", new Object());
            put("电子计算机整机", new HashMap<String, Object>() {{
                put("计算机工作站", new Object());
                put("微型计算机设备", new HashMap<String, Object>() {{
                    put("笔记本计算机", new Object());
                }});
            }});
            put("集成电路", new Object());
            put("智能卡芯片及电子标签芯片", new Object());
            put("LED芯片", new Object());
            put("光电子器件", new HashMap<String, Object>() {{
                put("发光二极管（LED管）", new Object());
                put("有机发光二极管（OLED）", new Object());
            }});
            put("液晶显示屏", new Object());
            put("液晶显示模组", new Object());
            put("电子元件", new Object());
            put("彩色电视机", new HashMap<String, Object>() {{
                put("液晶电视机", new HashMap<String, Object>() {{
                    put("智能电视", new Object());
                }});
                put("液晶（LCD）电视机", new Object());
                put("液晶（LED）电视机", new Object());
                put("显像管彩色(CRT)电视机", new Object());
                put("等离子（PDP）电视机", new Object());
                put("3G电视机", new Object());
            }});
            put("黑白电视机", new Object());
            put("录相机", new Object());
            put("数字激光音、视盘机", new Object());
            put("收音机", new Object());
            put("组合音响", new Object());
            put("半导体存储器播放器（含MP3、MP4）", new Object());
//        }});

//        put("轻工业产品", new HashMap<String, Object>() {{
            put("钟表与计时仪器", new Object());
            put("钟", new Object());
            put("表", new Object());
            put("照相机", new Object());
            put("精制食用植物油", new Object());
            put("成品糖", new Object());
            put("液体乳", new Object());
            put("白酒（折65度，商品量）", new Object());
            put("啤酒", new Object());
            put("饮料", new Object());
            put("卷烟", new Object());
            put("纱", new Object());
            put("布", new Object());
            put("绒线（毛线）", new Object());
            put("丝", new Object());
            put("丝织品", new Object());
            put("服装", new Object());
            put("皮革鞋靴", new Object());
            put("人造板", new Object());
            put("实木木地板", new Object());
            put("复合木地板", new Object());
            put("家具", new Object());
            put("纸浆", new Object());
            put("机制糖", new Object());
            put("机制纸", new Object());
            put("机制纸及纸板（外购原纸加工除外）", new Object());
            put("合成洗涤剂", new Object());
            put("塑料制品", new Object());
            put("日用玻璃制品", new Object());
            put("不锈钢日用制品", new Object());
//        }});

//        put("石油化学工业产品", new HashMap<String, Object>() {{
            put("乙烯", new Object());
            put("纯苯", new Object());
            put("建筑涂料", new Object());
            put("农用氮、磷、钾化学肥料（折纯）", new Object());
            put("氮肥（折含N100％）", new Object());
            put("磷肥（折合P2O5100％）", new Object());
            put("化学农药原药（折有效成分100%）", new Object());
            put("涂料", new Object());
            put("初级形态塑料", new Object());
            put("聚脂", new Object());
            put("合成橡胶", new Object());
            put("合成纤维聚合物", new Object());
            put("化学药品原药", new Object());
            put("中成药", new Object());
            put("化学纤维", new Object());
            put("合成纤维", new Object());
            put("子午线轮胎外胎", new Object());
            put("天然原油", new Object());
            put("天然气", new Object());
            put("硫铁矿石(折含硫35%)", new Object());
            put("原盐", new Object());
            put("配混合饲料", new Object());
            put("机制糖", new Object());
            put("原油加工量", new Object());
            put("燃料油", new Object());
            put("焦炭", new Object());
            put("硫酸（折１００％）", new Object());
            put("合成氨", new Object());
//        }});

//        put("建材工业产品", new HashMap<String, Object>() {{
            put("水泥", new Object());
            put("平板玻璃", new Object());
            put("日用玻璃制品", new Object());
            put("卫生陶瓷制品", new Object());
            put("日用陶瓷制品", new Object());
//        }});

//        put("钢铁工业产品", new HashMap<String, Object>() {{
            put("生铁", new Object());
            put("粗钢", new Object());
            put("钢材", new HashMap<String, Object>() {{
                put("钢筋", new Object());
                put("线材（盘条）", new Object());
                put("冷轧薄板", new Object());
                put("特厚板", new Object());
                put("厚钢板", new Object());
                put("中板", new Object());
                put("热轧薄板", new Object());
            }});
//        }});

//        put("有色工业产品", new HashMap<String, Object>() {{
            put("十种有色金属", new HashMap<String, Object>() {{
                put("精炼铜（电解铜）", new Object());
                put("铅", new Object());
                put("锌", new Object());
            }});
            put("铝材", new Object());
//        }});

//        put("机械工业产品", new HashMap<String, Object>() {{
            put("制冷空调设备", new Object());
            put("液压元件", new Object());
            put("化工设备", new Object());
            put("塑料加工设备", new Object());
            put("内燃机", new Object());
            put("小型拖拉机", new Object());
            put("收获机械", new Object());
            put("金属集装箱", new Object());
            put("气体压缩机", new Object());
            put("发动机", new Object());
            put("风机", new Object());
            put("环境污染防治专用设备", new Object());
            put("工业锅炉", new Object());
            put("金属切削机床", new Object());
            put("发电设备", new Object());
//        }});

//        put("汽车和新能源汽车产品", new HashMap<String, Object>() {{
            put("汽车", new HashMap<String, Object>() {{
                put("基本型乘用车（轿车）", new HashMap<String, Object>() {{
                    put("新能源汽车", new Object());
                }});
            }});
            put("新能源乘用车", new Object());
            put("新能源客车", new Object());
            put("新能源改装汽车", new Object());
//        }});

//        put("其他产品", new HashMap<String, Object>() {{
            put("锂离子电池", new Object());
            put("摩托车整车", new Object());
            put("民用钢质船舶", new Object());
            put("两轮自行车（自行车）", new Object());
            put("发电设备", new Object());
            put("变压器", new Object());
            put("通信及电子网络用电缆", new Object());
            put("冷柜（含冷冻箱、冷藏箱、展示柜）", new Object());
            put("自动化仪表及系统", new Object());
            put("汽车仪器仪表", new Object());
//        }});

//        put("能源产品", new HashMap<String, Object>() {{
            put("全社会用电量", new Object());
            put("工业用电量", new Object());
            put("一次能源生产总量", new Object());
            put("原煤", new Object());
            put("铁矿石原矿量", new Object());
            put("发电量", new HashMap<String, Object>() {{
                put("火力发电量", new Object());
                put("水力发电量", new Object());
                put("核能发电量", new Object());
                put("风力发电量", new Object());
            }});
            put("煤气生产量", new Object());
//        }});
    }};

    //广东省统计局主要产品产量 别名map 真实指标名与别名映射
    public static final Map<String, Object> GD_PRODUCTION_PRODUCT_MAP_ALIAS = new HashMap<String, Object>() {{
        put("家用电冰箱（家用冷冻冷藏箱）", new ArrayList<String>() {{
            add("家用电冰箱");
        }});
        put("发光二极管（LED管）", new ArrayList<String>() {{
            add("发光二极管（LED）");
        }});
        put("饮料", new ArrayList<String>() {{
            add("软饮料");
            add("果汁及果汁饮料");
        }});
        put("机制纸及纸板（外购原纸加工除外）", new ArrayList<String>() {{
            add("机制纸及纸板(外购原纸加工除外)");
            add("机制纸及纸板");
            add("机制纸板");
        }});
        put("农用氮、磷、钾化学肥料（折纯）", new ArrayList<String>() {{
            add("农用氮、磷、钾化学肥料总计（折纯）");
            add("化学肥料总计（折纯）");
            add("化学肥料总计");
            add("农用氮、磷、钾化学肥料总计（折纯");
            add("化学肥料全省总计");
        }});
        put("初级形态塑料", new ArrayList<String>() {{
            add("初级形态的塑料");
            add("初级形态的塑料（塑料树脂及共聚物）");
            add("塑料树脂及共聚物");
        }});
        put("线材（盘条）", new ArrayList<String>() {{
            add("线材");
            add("盘条（线材）");
        }});
        put("精炼铜（电解铜）", new ArrayList<String>() {{
            add("精炼铜(电解铜)");
            add("精炼铜（铜）");
            add("铜");
        }});
        put("基本型乘用车（轿车）", new ArrayList<String>() {{
            add("基本型乘用车(轿车)");
            add("轿车");
        }});
        put("钟表与计时仪器", new ArrayList<String>() {{
            add("钟表与时间仪器");
        }});
        put("硫铁矿石(折含硫35%)", new ArrayList<String>() {{
            add("硫铁矿石（折含S35%）");
            add("硫铁矿（折含S35%）");
        }});
        put("化学药品原药", new ArrayList<String>() {{
            add("化学药品原药（化学原料药）");
            add("化学原料药");
        }});
        put("卫生陶瓷制品", new ArrayList<String>() {{
            add("卫生陶瓷");
        }});
        put("日用陶瓷制品", new ArrayList<String>() {{
            add("日用陶瓷");
        }});
        put("移动通信手持机（手机）", new ArrayList<String>() {{
            add("移动通信手持机（移动电话）");
            add("移动通信手持机（移动电话机）");
            add("移动电话机");
        }});
        put("电子计算机整机", new ArrayList<String>() {{
            add("微型电子计算机");
        }});
        put("集成电路", new ArrayList<String>() {{
            add("集成电路（半导体集成电路）");
            add("半导体集成电路");
        }});
        put("火力发电量", new ArrayList<String>() {{
            add("火电");
        }});
        put("水力发电量", new ArrayList<String>() {{
            add("水电");
        }});
        put("核能发电量", new ArrayList<String>() {{
            add("核电");
        }});
        put("煤气生产量", new ArrayList<String>() {{
            add("煤气生产量（煤气）");
            add("煤气");
        }});
        put("皮革鞋靴", new ArrayList<String>() {{
            add("皮鞋");
        }});
        put("摩托车整车", new ArrayList<String>() {{
            add("摩托车");
        }});
        put("家用吸排油烟机", new ArrayList<String>() {{
            add("吸排油烟机");
        }});
        put("数字激光音、视盘机", new ArrayList<String>() {{
            add("激光视盘机");
        }});
        put("组合音响", new ArrayList<String>() {{
            add("收录放音组合机（录放音机）");
            add("录放音机");
        }});
        put("冷柜（含冷冻箱、冷藏箱、展示柜）", new ArrayList<String>() {{
            add("冷柜");
        }});
        put("化学农药原药（折有效成分100%）", new ArrayList<String>() {{
            add("化学农药原药");
            add("化学农药");
        }});
        put("精制食用植物油", new ArrayList<String>() {{
            add("食用植物油");
        }});
        put("铝材", new ArrayList<String>() {{
            add("日用精铝制品");
        }});
        put("两轮自行车（自行车）", new ArrayList<String>() {{
            add("自行车");
        }});
        put("通信及电子网络用电缆", new ArrayList<String>() {{
            add("通讯电缆");
        }});
    }};

    //广东省统计局社会消费品零售总额 全局map(以"2024年9月社会消费品零售总额_2024-11-06.csv"文件为基准构建) 父类指标与子类指标映射
    public static final Map<String, Object> GD_TOTAL_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("社会消费品零售额", new Object());
        put("社会消费品零售总额", new Object());
        put("城镇", new HashMap<String, Object>() {{
            put("城区", new Object());
        }});
        put("乡村", new Object());
        put("批发业", new HashMap<String, Object>() {{
            put("限额以上企业", new Object());
            put("限上个体户", new Object());
            put("限额以下", new Object());
        }});
        put("零售业", new HashMap<String, Object>() {{
            put("限额以上企业", new Object());
            put("限上个体户", new Object());
            put("限额以下", new Object());
        }});
        put("住宿业", new HashMap<String, Object>() {{
            put("限额以上企业", new Object());
            put("限上个体户", new Object());
            put("限额以下", new Object());
        }});
        put("餐饮业", new HashMap<String, Object>() {{
            put("限额以上企业", new Object());
            put("限上个体户", new Object());
            put("限额以下", new Object());
        }});
        put("餐饮收入", new Object());
        put("商品零售", new Object());
    }};

    //广东省季度生产总值 全局map(以"2024年上半年广东省地区生产总值_2024-07-30.csv"文件为基准构建) 父类指标与子类指标映射
    public static final Map<String, Object> GD_QUARTER_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("地区生产总值（亿元）", new Object());
        put("第一产业", new HashMap<String, Object>() {{
            put("农林牧渔业", new Object());
            put("农、林、牧、渔服务业", new Object());
        }});
        put("第二产业", new HashMap<String, Object>() {{
            put("工业", new Object());
            put("建筑业", new Object());
            put("开采辅助活动", new Object());
            put("金属制品、机械和设备修理业", new Object());
        }});
        put("第三产业", new HashMap<String, Object>() {{
            put("批发和零售业", new Object());
            put("批发业", new Object());
            put("零售业", new Object());
            put("交通运输、仓储和邮政业", new Object());
            put("住宿和餐饮业", new Object());
            put("住宿业", new Object());
            put("金融业", new Object());
            put("房地产业", new Object());
            put("房地产业（K门类）", new Object());
            put("自有房地产经营活动", new Object());
            put("其他服务业", new Object());
            put("营利性服务业", new Object());
            put("非营利性服务业", new Object());
            put("餐饮业", new Object());
            put("房地产开发经营业", new Object());
            put("其他房地产活动", new Object());
        }});
    }};

    //广东省季度生产总值 别名map 真实指标名与别名映射
    public static final Map<String, Object> GD_QUARTER_PRODUCT_MAP_ALIAS = new HashMap<String, Object>() {{
        put("地区生产总值（亿元）", new ArrayList<String>() {{
            add("地区生产总值");
        }});
    }};

    //广东省工业主要经济指标 全局map(以"2024年1-10月工业企业主要经济指标_0_2024-11-29.csv"文件为基准构建) 父类指标与子类指标映射
    public static final Map<String, Object> GD_INDUSTRY_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("企业单位数", new HashMap<String, Object>() {{
            put("亏损企业", new Object());
        }});
        put("流动资产合计", new HashMap<String, Object>() {{
            put("存货", new Object());
            put("产成品", new Object());
            put("应收账款", new Object());
        }});
        put("应收帐款净额", new Object());
        put("产成品存货", new Object());
        put("流动资产平均余额", new Object());
        put("固定资产净值平均余额", new Object());
        put("资产总计", new Object());
        put("负债总计", new Object());
        put("产品销售收入", new Object());
        put("产品销售成本", new Object());
        put("产品销售费用", new Object());
        put("产品销售税金及附加", new Object());
        put("营业收入", new Object());
        put("营业成本", new Object());
        put("主营业务税金及附加", new Object());
        put("营业费用", new Object());
        put("销售费用", new Object());
        put("管理费用", new Object());
        put("财务费用", new Object());
        put("利息支出", new Object());
        put("利润总额", new Object());
        put("亏损企业亏损额", new Object());
        put("税金总额", new Object());
        put("应交增值税", new Object());
        put("平均用工人数", new Object());
    }};

    //广东省工业主要经济指标 别名map 真实指标名与别名映射
    public static final Map<String, Object> GD_INDUSTRY_PRODUCT_MAP_ALIAS = new HashMap<String, Object>() {
        {
            put("营业收入", new ArrayList<String>() {{
                add("主营业务收入");
            }});
            put("营业成本", new ArrayList<String>() {{
                add("主营业务成本");
            }});
            put("应收账款", new ArrayList<String>() {{
                add("应收帐款");
            }});
            put("平均用工人数", new ArrayList<String>() {{
                add("全部从业人员平均人数");
                add("从业人员平均人数");
                add("从事工业生产活动的从业人员平均人数");
            }});
        }};

    //广东省统计局广东省季度生产总值 表头与指标名称映射（截止2012年4季度广东省生产总值_2013-03-04.csv）
    public static final Map<String, Object> GD_QUARTER_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("累计值", new ArrayList<String>() {{
            add("总量（亿元）_本年");
            add("累计_本年");
            add("累 计_本年");
            add("累  计_本年");
            add("按现行价格计算（亿元）_累计");
            add("按现行价格计算（亿元）_累 计");
        }});
        put("累计同比", new ArrayList<String>() {{
            add("增长（%）_本年");
            add("累计_同比增长(%)");
            add("累 计_同比增长(%)");
            add("累计_增长(%)");
            add("累计_同比增长（%）");
            add("累  计_同比增长(%)");
            add("比上年同期增长(%)_累计");
            add("比上年同期增长（%）_累计");
            add("比上年同期增长（%）_累 计");
            add("比上年同期增长%_累计");
            add("比上年同期增（%）_累计");
        }});
    }};

    //广东省统计局蔬菜瓜果生产情况 表头与指标名称映射（截止2020年三季度广东蔬菜、瓜果生产情况_2020-10-23.csv）
    public static final Map<String, Object> GD_SITUATION_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("播种面积", new ArrayList<String>() {{
            add("播种面积（万亩）");
            add("播种面积");
        }});
        put("产量", new ArrayList<String>() {{
            add("产量（万吨）");
            add("产量");
        }});
        put("播种面积增速", new ArrayList<String>() {{
            add("播种面积增速（%）");
            add("播种面积增速");
        }});
        put("产量增速", new ArrayList<String>() {{
            add("产量增速（%）");
            add("产量增速");
        }});
    }};

    //广东省统计局工业增加值 表头与指标名称映射（截止2000年1月份工业增加值_2000-02-08.csv）
    public static final Map<String, Object> GD_ADD_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("当月值", new ArrayList<String>() {{
            add("本月");
        }});
        put("累计值", new ArrayList<String>() {{
            add("本月止累计");
        }});
        put("当月同比", new ArrayList<String>() {{
            add("本月比上年同月增长(%)");
        }});
        put("累计同比", new ArrayList<String>() {{
            add("累计比上年同期增长(%)");
            add("累计比上年同期增长（%");
            add("本期累计比上年同期增长(%)");
        }});
    }};

    //广东省统计局主要产品产量 表头与指标名称映射（截止2004年05份主要产品产量_2004-06-12.csv）
    public static final Map<String, Object> GD_PRODUCTION_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("当月值", new ArrayList<String>() {{
            add("本月");
        }});
        put("累计值", new ArrayList<String>() {{
            add("本月止累计");
        }});
        put("当月同比", new ArrayList<String>() {{
            add("本月比上年同月增长(%)");
            add("本月比上年同月增减(%)");
        }});
        put("累计同比", new ArrayList<String>() {{
            add("累计比上年同期增长(%)");
            add("累计比上年同期增减(%)");
        }});
    }};

    //广东省统计局工业主要经济指标 表头与指标名称映射（截止2004年1-4月工业企业主要经济指标（一）_0_2004-05-13.csv）
    public static final Map<String, Object> GD_INDUSTRY_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("累计值", new ArrayList<String>() {{
            add("本月止累计");
        }});
        put("累计同比", new ArrayList<String>() {{
            add("累计比上年同期增长(%)");
            add("累计比上年同期增长（%）");
        }});
//        2012年之后
        put("大型企业累计值", new ArrayList<String>() {{
            add("大型企业_本月止累计");
        }});
        put("大型企业累计同比", new ArrayList<String>() {{
            add("大型企业_累计比上年同期增长(%)");
            add("大型企业_累计比上年同期增长（%）");
        }});
        put("中型企业累计值", new ArrayList<String>() {{
            add("中型企业_本月止累计");
        }});
        put("中型企业累计同比", new ArrayList<String>() {{
            add("中型企业_累计比上年同期增长(%)");
            add("中型企业_累计比上年同期增长（%）");
        }});
        put("小型企业累计值", new ArrayList<String>() {{
            add("小型和微型企业_本月止累计");
        }});
        put("小型企业累计同比", new ArrayList<String>() {{
            add("小型和微型企业_累计比上年同期增长(%)");
            add("小型和微型企业_累计比上年同期增长（%）");
        }});
        put("国有控股企业累计值", new ArrayList<String>() {{
            add("国有控股企业_本月止累计");
            add("国有控股企业_本月止 累计");
            add("国有及国有控股企业_本月止累计");
        }});
        put("国有控股企业累计同比", new ArrayList<String>() {{
            add("国有控股企业_累计比上年同期增长(%)");
            add("国有控股企业_累计比上年同期增长（%）");
            add("国有及国有控股企业_累计比上年同期增长(%)");
            add("国有及国有控股企业_累计比上年同期增长（%）");
        }});
        put("外商及港澳台商投资企业累计值", new ArrayList<String>() {{
            add("外商及港澳台商投资企业_本月止累计");
            add("外商及港澳台投资企业_本月止累计");
            add("外商及港澳台商投资企业_本月止 累计");
        }});
        put("外商及港澳台商投资企业累计同比", new ArrayList<String>() {{
            add("外商及港澳台商投资企业_累计比上年同期增长(%)");
            add("外商及港澳台投资企业_累计比上年同期增长(%)");
            add("外商及港澳台商投资企业_累计比上年同期增长（%）");
        }});

        //2012年之前
        put("大中型企业累计值", new ArrayList<String>() {{
            add("在总计中:大中型企业_本月止累计");
            add("在总计中：大中型企业_本月止累计");
        }});
        put("大中型企业累计同比", new ArrayList<String>() {{
            add("在总计中:大中型企业_累计比上年同期增长(%)");
            add("在总计中:大中型企业_累计比上年同期增长（%）");
        }});

        //16-20年
        put("民营企业累计值", new ArrayList<String>() {{
            add("民营企业_本月止累计");
            add("民营企业_本月止 累计");
        }});
        put("民营企业累计同比", new ArrayList<String>() {{
            add("民营企业_累计比上年同期增长(%)");
            add("民营企业_累计比上年同期增长（%）");
        }});
    }};

    //广东省统计局社会消费品零售总额 表头与指标名称映射（截止2013年2月社会消费品零售总额_2013-09-09.csv）
    public static final Map<String, Object> GD_TOTAL_HEAD_PRODUCT_MAP = new HashMap<String, Object>() {{
        put("当月值", new ArrayList<String>() {{
            add("本年_本月");
            add("本 年_本月");
        }});
        put("累计值", new ArrayList<String>() {{
            add("本年_1-本月");
            add("本 年_1-本月");
            add("1-本月");
        }});
        put("当月同比", new ArrayList<String>() {{
            add("增长_本月");
            add("增 长_本月");
            add("增长(%)_本月");
        }});
        put("累计同比", new ArrayList<String>() {{
            add("增长_累计");
            add("增 长_累计");
            add("累计增长");
            add("增长(%)_累计");
            add("累计增长");
        }});
    }};

}
